package com.bzframework.pro.api.core.provider;

import com.bzframework.pro.api.core.OpenApiHeader;
import com.bzframework.pro.api.core.OpenApiQueryParam;
import org.springframework.http.HttpMethod;

import java.util.List;

/**
 * @Author bingzhong
 * @Date 2025/2/25 18:00
 * @Description api 接口协议支持接口
 */
public interface ApiSupport {

    String getId();

    /**
     * @return 接口名称
     */
    String getName();

    /**
     * @return 接口路径
     */
    String getUrl();

    /**
     *
     * @return 请求路径示例
     */
    String demoUrl();

    /**
     * @return 请求方法
     */
    HttpMethod getMethod();

    /**
     *
     * @return 返回类型
     */
    String responseType();

    /**
     * @return 说明
     */
    String getDescription();

    /**
     * @return 请求头
     */
    List<OpenApiHeader> headers();

    /**
     *
     * @return 请求参数
     */
    List<OpenApiQueryParam> queryParam();

}
